草庐IT

mysql - 复杂的sql分组排序

全部标签

javascript - 按值移动数组,保持排序

我有一个看起来像这样的数组:arr=['a','b','c','d','e','f'];如何在保持顺序的同时改变它的值。例如,我想以'd'开头:new_arr=shiftArray(arr,'d');//=>['d','e','f','a','b','c'] 最佳答案 你可以这样做functionshiftArray(arr,target){returnarr.concat(arr.splice(0,arr.indexOf(target)));}vararr=['a','b','c','d','e','f'];functionshi

javascript - 使用描述对时间戳进行分组

我有使用时间表应用程序记录的任务数据。我正在尝试解析每个任务的休息时间。附加到任务的中断字符串示例如下所示:1:19pm–10:33pmatetacos10:35pm–11:38pm12:40am–1:24amtookanap我需要将其分组为时间戳及其相关描述。以上内容应按如下方式分组:1:19pm–10:33pmatetacos10:35pm–11:38pm12:40am–1:24amtookanap休息间隔的描述基本上可以有任何字符或任何长度。一些间隔没有描述。我认为正则表达式是获取一组间隔及其描述(如果有的话)的最简单方法。到目前为止我有:\d{1,2}:\d{2}[ap]m\s

javascript - Lodash:对对象数组进行排序,首先是字母,然后是数字

我有一个对象数组,比方说:varobjects=[{name:'A'},{name:'1'},{name:'B'}]知道我可以使用LodashsortBy对其进行排序:objects=_.sortBy(objects,'name')这将导致:[{name:'1'},{name:'A'},{name:'B'}]但我想要的输出是这样的:[{name:'A'},{name:'B'},{name:'1'}]请帮忙。 最佳答案 使用Array#sort你可以应用这个逻辑://Ifbotharenumbersorbotharenotnumber

JavaScript - 根据依赖树排序

我必须展示一组相互依赖的图像。例如ImageAdependsonnooneImageBdependsonAImageCdependsonAandBImageDdependsonFImageEdependsonDandCImageFdependsonnoone我有一个像这样的javascript对象:constimageDependencies={A:[],B:['A'],C:['A','B'],D:['F'],E:['D','C'],F:[]}我需要按依赖项对我所有的图像名称进行排序。此示例的结果可能是以下任何一个://sofirstyogetthevalueofA.Onceyouha

javascript - 使用 Marionette 对 Collection View 中的项目进行分组

我正在使用backbone和marionette.js构建一个应用程序。我计划使用CollectionView来展示一些项目,然后允许对它们进行过滤、排序和分组。我想知道是否有任何好的设计想法以分组方式实际附加html。我有一些想法,但我想知道是否有人可以提供更好的设计。我的第一个想法是更改CollectionView上的appendHtml方法,如果启用了分组,我可以让appendHtml函数查找或创建子组的bin并将subview放入其中。appendHtml:function(collectionView,itemView,index){var$container=this.ge

javascript - 在 JavaScript 中对大型(ish)数字数组进行排序的最快方法是什么

在我的应用程序中,我需要对随机数的大型数组(100,000到1,000,000之间)进行排序。我一直在使用内置的array.sort(comparisonFunction),其中comparisonFunction如下所示:functioncomparisonFunction(a,b){returna-b;}这工作得很好,但我读过(例如,NativeJavaScriptsortperformingslowerthanimplementedmergesortandquicksort)有更快的选择,特别是如果您的要求满足特定条件:我只需要对数字进行排序(例如,不是对象或字母数字数据)数据是

javascript - 访问对象中数据的复杂性

在我日常工作的一些项目中,我需要访问非常大的JS对象中的数据(按数千个键值对的顺序)。我正在努力提高我的代码的效率,所以我提出了几个问题:访问此类对象中的字段时,JS的运行时复杂度是多少?我最初的预感是O(n)通过点号或括号号访问时有区别吗?(例如obj.field与obj[field])我猜不同的运行时引擎有不同的答案-有什么地方可以让我看出它们之间的区别吗? 最佳答案 Javascript对象实际上是哈希,所以对于所有引擎来说复杂度都是O(1)。obj.field是obj['field']的别名,因此它们具有相同的性能。你可以找

javascript - 按相对位置对数组排序

示例对象数组:[{id:'a',beforeId:null},{id:'b',beforeId:'c'},{id:'c',beforeId:'a'},{id:'d',beforeId:'b'}]输出顺序:d-b-c-a;每个元素根据其beforeId属性相对于其他元素排序。我可以创建一个临时数组并对上面的数组进行排序。可以使用array.sort进行排序吗? 最佳答案 您可以使用关系构建一个对象,并通过将对象与beforeId:null一起使用来生成结果,并取消移位结果数组的所有对象。下一个对象是以实际val为键的对象。复杂度:O(

javascript - 按数字脚本简单排序,3 行,最后几里排序不正确,为什么?

http://jsfiddle.net/nicktheandroid/6BAfH/1/列表元素根据其跨度中的数字进行相应排序。为什么最后几个数字乱序了?我很困惑。JqueryfunctionsortEm(a,b){returnparseInt($('span',a).text())HTMLCups12Plates18Forks03Knives08Bowls55 最佳答案 欢迎来到八进制数的世界。Iftheinputstringbeginswith"0",radixiseight(octal).Thisfeatureisnon-sta

javascript - 如何获取分组 svg 元素的全局坐标?

假设我有以下document(fiddle):如果我不知道rect元素在一个组中,我如何获取它的全局坐标? 最佳答案 其实有点难找。搜索SVGElement的方法会导致页面显示SVGElement没有方法!它实际上有很多方法,但它们是继承的:http://www.w3.org/TR/SVG/types.html#InterfaceSVGLocatable根据您的需要,您可以使用getCTM或getScreenCTM的结果来转换SVGPoint,从而了解您的元素在哪里:root=document.getElementById('roo